1. 从tab_data将数据合并到一个文件中: data/train_data.txt，数据格式: 
症状\t\t方剂  共96445条数据
"黄疸，大便自利而黄。		茵陈蒿3钱，栀子2钱，黄连2钱。"
代码 few/hebin.py
2. 处理train_data.txt 为训练数据格式
代码:utils.py


"黄疸，大便自利而黄。		|茵陈蒿|3钱，|栀子|2钱，|黄连|2钱。"

3. vocab.txt 后面添加了532个标准药名

4. 转换数据完成
标准药名表中的转换为对应的id，不在标准表中的药名转换为[unused1]

5. done
模型搭建，MLM不同类别的词有选择的mask
标准药名部分全部被打mask
其余词百分之15被打 mask或者替换成词表中其余的词

6. data/new_train_data.txt 
把532个标准药名用特殊符号[|herb|]框起来,方便后续数据编码:
"黄疸，大便自利而黄。		[|茵陈蒿|]3钱，[|栀子|]2钱，[|黄连|]2钱。"
标准药名表中的转换为对应的id，不在标准表中的药名转换为[unused1]
['[unused1]', '茵', '陈', '蒿', '[unused1]', '3', '钱', '，', '栀子', '栀', '子', '栀子', '2', '钱', '，', '黄连', '黄', '连', '黄连', '2', '钱', '。']


1. 3.3 讨论:不使用mad_map,测试的时候用,标准药名按照比例mask一部分,其余词的token按照比例mask,并且
不替换成别的token预测
女子 把头发 盘 在 头上 [cls]    
盘[s1,s2,s3]
头上[s1,s2,s3]
rel

3. 预测部分只预测在med_map里的药名,可以计算准确率
test中med_map总共:817个
val中med_map总共:811个

预测数据只有med_map里的药名左右两边才加上id,用于去预测,标准药名左右两边不加,因为这些在训练数据中已经见过了


4. 训练集，标准药名左右id,非标准和未知药名，左右unused
预测集，med_map中的药名，左右为标准药名去预测
计算准确率
metrics.accuracy_score(label_all, pred_all)

MAP
MRR
P@5




